/*************************************************************************
 *                                                                       *
 * This file is part of the DogosFrame distribution.  For full copyright *
 * information, see COPYRIGHT and COPYING.LESSER.                        *
 *                                                                       *
 * Author:           sqbang                                              *
 * Email:            sqbang@ustc.edu                                     *
 *                                                                       *
 *************************************************************************/

namespace DOGOS
{

inline void
DogosManager::startup()
{
    TBOX_ASSERT (s_initialized);
    TBOX_ASSERT (!s_started);
    StartupShutdownManager::startup();
    s_started = true;
}


inline void
DogosManager::shutdown()
{
    TBOX_ASSERT (s_initialized);
    TBOX_ASSERT (s_started);
    StartupShutdownManager::shutdown();
    s_started = false;
}


inline void
DogosManager::finalize()
{
    TBOX_ASSERT (s_initialized);
    StartupShutdownManager::finalize();
    PIO::finalize();
    s_initialized = false;
}


inline bool
DogosManager::is_initialized()
{
    return s_initialized;
}


inline bool
DogosManager::is_started()
{
    return s_started;
}


inline int
DogosManager::get_max_num_patch_data_entries()
{
    s_max_patch_data_entries_accessed = true;
    return s_max_patch_data_entries;
}

}
